import axios from 'axios';
import NProgress from 'nprogress';
import 'nprogress/nprogress.css'

//创建一个axios实例
const request = axios.create({
  baseURL: "/api1",
  timeout: 10000
})

// 添加请求拦截器
request.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  //添加一个请求进度条
  NProgress.start();
  //权限控制:当发送ajax请求的时候,去本地存储中拿到token,并放在请求头上,随着http请求发送
  const token = localStorage.getItem("user_token")
  config.headers.token = token

  return config;
}, function (error) {
  NProgress.done()
  // 对请求错误做些什么
  return Promise.reject(error);
});

// 添加响应拦截器
request.interceptors.response.use(function (response) {
  // 对响应数据做点什么
  NProgress.done();
  //只对符合我们成功逻辑的处理,否则都报异常
if(response.data.code===20000){
  return Promise.reject({
    message:response.data.msg,
    islogin:false
  })
}



  if (response.data.code !== 10000) {
    return Promise.reject({
      message: response.data.msg
    });
  }

  return response.data.data;
}, function (error) {
  // 对响应错误做点什么
  NProgress.done();
  return Promise.reject(error);
});


export default request;